home *** CD-ROM | disk | FTP | other *** search
/ Amiga Tools 5 / Amiga Tools 5.iso / tools / developer-tools / c-tools / c_examples / tab / tab.cpp < prev    next >
Encoding:
C/C++ Source or Header  |  1996-05-09  |  2.2 KB  |  85 lines

  1. //////////////////////////////////////////////////////////////////////////////
  2. // Tab.cpp
  3. //
  4. // Deryk Robosson
  5. // May 5, 1996
  6. //////////////////////////////////////////////////////////////////////////////
  7.  
  8. //////////////////////////////////////////////////////////////////////////////
  9. // INCLUDES
  10. #include "aframe:include/Tab.hpp"
  11.  
  12. //////////////////////////////////////////////////////////////////////////////
  13. //
  14.  
  15. AFTab::AFTab()
  16.     :ClassLibrary(NULL)
  17. {
  18.     if(!ClassLibrary) {
  19.         if(!(ClassLibrary=(struct ClassLibrary*)OpenLibrary((UBYTE*)"gadgets/tabs.gadget",37)))
  20.             if(!(ClassLibrary=(struct ClassLibrary*)OpenLibrary((UBYTE*)":classes/gadgets/tabs.gadget",37)))
  21.                 if(!(ClassLibrary=(struct ClassLibrary*)OpenLibrary((UBYTE*)"classes/gadgets/tabs.gadget",37)))
  22.                     printf("Unable to open tabs.gadget\n");
  23.     }
  24. }
  25.  
  26. AFTab::~AFTab()
  27. {
  28.     if(ClassLibrary) {
  29.         CloseLibrary((struct Library*)ClassLibrary);
  30.         ClassLibrary=NULL;
  31.     }
  32. }
  33.  
  34. void AFTab::DestroyObject()
  35. {
  36.     if(m_pgadget) {
  37.         RemoveGList(m_pwindow->m_pWindow, (LPGadget)m_pgadget, 1);
  38.         ::DisposeObject(m_pgadget);
  39.         m_pgadget=NULL;
  40.     }
  41. }
  42.  
  43. void AFTab::Create(AFWindow *window, AFRect *rect, TabLabel tlabels[] , ULONG id)
  44. {
  45.     m_pwindow=window;
  46.  
  47.     if(m_pgadget=(LPExtGadget)NewObject(NULL, (UBYTE*)"tabs.gadget",
  48.                     GA_Top, rect->TopLeft()->m_y,
  49.                     GA_Left, rect->TopLeft()->m_x,
  50.                     GA_Height, rect->Height(),
  51.                     GA_Width, rect->Width(),
  52.                     GA_RelVerify, TRUE,
  53.                     GA_Immediate, TRUE,
  54.                     GA_ID, id,
  55.                     TABS_Labels, tlabels,
  56.                     TABS_Current, 0,
  57.                     TAG_DONE)) {
  58.         AddGList(m_pwindow->m_pWindow, (LPGadget)m_pgadget, -1, 1, NULL);
  59.         m_pwindow->AppendGadget(this);
  60.     }
  61. }
  62.  
  63. void AFTab::OnGadgetUp(LPIntuiMessage imess)
  64. {
  65.     ULONG result;
  66.  
  67.     result=GetCurrentTab();
  68.  
  69.     switch(result) {
  70.     default:
  71.         break;
  72.     }
  73. }
  74.  
  75. ULONG AFTab::GetCurrentTab()
  76. {
  77.     ULONG result;
  78.  
  79.     if(m_pgadget) {
  80.         if(!(GetAttr(TABS_Current, m_pgadget, &result)))
  81.             return FALSE;
  82.         else return result;
  83.     } else return FALSE;
  84. }
  85.